Nội dung của từng vị trí bộ nhớ Địa chỉ bộ nhớ

Mỗi ô nhớ trong một máy tính chương trình lưu trữ chứa một số nhị phân hoặc số thập phân. Việc diễn giải nó dưới dạng dữ liệu thuộc một kiểu dữ liệu hay một lệnh, và việc sử dụng nó, được xác định bởi các lệnh truy xuất và thay tác trên nó.

Một số lập trình viên thời đầu trộn các lệnh và dữ liệu trong word để tiết kiệm bộ nhớ, thời mà nó còn đắt tiền: Manchester Mark 1 có khoảng trống trong các word 40 bit để lưu trữ các bit dữ liệu nhỏ, vì bộ xử lý của nó bỏ qua một phần nhỏ ở giữa một word.[cần dẫn nguồn] Các chương trình tự sao chép như vi rút đôi khi coi bản thân chúng như dữ liệu và đôi khi là các lệnh. Mã tự sửa đổi ngày nay thường không được dùng nữa, vì rất khó để kiểm tra và bảo trì đổi lấy việc tiết kiệm một vài byte, và cũng có thể cho kết quả không chính xác do giả định của trình biên dịch hoặc bộ xử lý về trạng thái của máy, nhưng đôi khi vẫn được sử dụng một cách có chủ ý nếu cực kỳ thận trọng.

Không gian địa chỉ trong lập trình ứng dụng

Trong môi trường đa nhiệm hiện đại, một tiến trình ứng dụng thường có trong không gian địa chỉ của nó các khối bộ nhớ thuộc các loại sau:

  • Mã máy, bao gồm:
    • mã của bản thân chương trình (trước đây được gọi là đoạn mã hoặc đoạn văn bản);
    • thư viện dùng chung.
  • Dữ liệu, bao gồm:
    • dữ liệu đã khởi tạo (đoạn dữ liệu);
    • biến chưa được khởi tạo (nhưng được cấp phát);
    • ngăn xếp thời gian chạy;
    • đống;
    • bộ nhớ dùng chung và các tệp mà bộ nhớ được map vào.

Một số phần của không gian địa chỉ có thể không được gán vào đâu.